inherited frmProductCenter: TfrmProductCenter
  Left = 0
  Top = 0
  Caption = #20010#24615#21270#20135#25104#21697#20013#24515
  ClientHeight = 467
  ClientWidth = 952
  Position = poDesigned
  OnResize = FormResize
  ExplicitWidth = 968
  ExplicitHeight = 526
  PixelsPerInch = 96
  TextHeight = 12
  inherited Panel1: TPanel
    Width = 952
    Height = 45
    Align = alTop
    Visible = True
    ExplicitWidth = 952
    ExplicitHeight = 45
    inherited img3: TImage
      Left = 891
      Top = 5
      Visible = False
      ExplicitLeft = 487
      ExplicitTop = 5
    end
    inherited labFuncName: TcxLabel
      Left = 12
      Top = 13
      Caption = #36135#21697#21517#31216
      Style.Font.Color = clWindowText
      ExplicitLeft = 12
      ExplicitTop = 13
      ExplicitWidth = 52
    end
    inherited labFuncDesc: TcxLabel
      Left = 407
      Top = 13
      Anchors = [akTop, akRight]
      AutoSize = False
      Caption = #27169#31946#26597#25214
      Style.Font.Color = clWindowText
      Properties.Alignment.Horz = taRightJustify
      ExplicitLeft = 407
      ExplicitTop = 13
      ExplicitWidth = 80
      ExplicitHeight = 21
      Height = 21
      Width = 80
      AnchorX = 487
    end
    object btnFilter: TcxButton
      Left = 646
      Top = 9
      Width = 75
      Height = 25
      Anchors = [akTop, akRight]
      Caption = #36807#28388
      TabOrder = 2
      OnClick = btnFilterClick
    end
    object edtFilter: TcxTextEdit
      Left = 486
      Top = 11
      Hint = #27169#31946#21305#37197#36135#21697#21517#31216#12289#32534#30721#65307#29289#26009#28165#21333#32534#30721#12289#21517#31216
      Anchors = [akTop, akRight]
      TabOrder = 1
      Width = 160
    end
    object edtCost: TcxComboBox
      Left = 249
      Top = 11
      Properties.Items.Strings = (
        #21442#32771#36827#20215
        #24211#23384#25104#26412)
      TabOrder = 4
      Text = #21442#32771#36827#20215
      Width = 73
    end
    object btnUpdateRawCost: TcxButton
      Left = 322
      Top = 9
      Width = 100
      Height = 25
      Caption = #26356#26032#20135#21697#26448#26009#25104#26412
      TabOrder = 5
      OnClick = btnUpdateRawCostClick
    end
    object btnPrint: TcxButton
      Left = 729
      Top = 9
      Width = 70
      Height = 25
      Anchors = [akTop, akRight]
      Caption = #25171#21360
      Colors.Default = 16773345
      DropDownMenu = pmPrint
      Kind = cxbkDropDownButton
      OptionsImage.Glyph.SourceDPI = 96
      OptionsImage.Glyph.Data = {
        424D360400000000000036000000280000001000000010000000010020000000
        000000000000C40E0000C40E00000000000000000000FFFFFF00FFFFFF00FFFF
        FF00FFFFFF00BEBEBEFFB4B4B4FFB1B1B1FFB0B0B0FFB0B0B0FFB0B0B0FFB1B1
        B1FFB4B4B4FFBEBEBEFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
        FF009B9B9BFF818181FF6E6E6EFF666666FF666666FF666666FF666666FF6666
        66FF6E6E6EFF818181FF9B9B9BFFABABABFFFFFFFF00959595FF747474FF6464
        64FF565656FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
        FF00FFFFFF00424242FF565656FF646464FF747474FF4C4C4CFF4C4C4CFF4C4C
        4CFF4C4C4CFFFFFFFF00FEDEAAFFDEE3BDFFA6ECDFFF7EF2F7FF8DE6F4FFBACE
        E4FFFFFFFF004C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF818181FF8181
        81FF4C4C4CFFFFFFFF00DEE3BDFFA6ECDFFF7EF2F7FF8DE6F4FFBACEE4FFE6B6
        D4FFFFFFFF004C4C4CFF818181FF818181FF4C4C4CFF4C4C4CFFADADADFFADAD
        ADFF4C4C4CFFFFFFFF00A6ECDFFF7EF2F7FF8DE6F4FFBACEE4FFE6B6D4FFFDAA
        CCFFFFFFFF004C4C4CFFADADADFFADADADFF4C4C4CFF4C4C4CFFD9D9D9FFD9D9
        D9FF737373FF737373FF737373FF737373FF737373FF737373FF737373FF7373
        73FF737373FF737373FFD9D9D9FFD9D9D9FF4C4C4CFF4C4C4CFFF9F9F9FFF9F9
        F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9
        F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FF4C4C4CFF4C4C4CFFEAEAEAFFEAEA
        EAFF3F3F3FFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEA
        EAFFEAEAEAFF5C39FFFFEAEAEAFFEAEAEAFF4C4C4CFF4C4C4CFFD4D4D4FFD4D4
        D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4
        D4FFD4D4D4FFD4D4D4FFD4D4D4FFD4D4D4FF4C4C4CFF4C4C4CFFBBBBBBFFBBBB
        BBFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C4CFF4C4C
        4CFF4C4C4CFF4C4C4CFFBBBBBBFFBBBBBBFF4C4C4CFF999999FF4C4C4CFF4C4C
        4CFF4C4C4CFFA54D33FFFFDFD6FFFFDFD6FFFFDFD6FFFFDFD6FFFFDFD6FFFFDF
        D6FFA54D33FF4C4C4CFF4C4C4CFF4C4C4CFF999999FFFFFFFF00FFFFFF00FFFF
        FF00FFFFFF00A54D33FFFFF8F7FFFFF8F7FFFFF8F7FFFFF8F7FFFFF8F7FFFFF8
        F7FFA54D33FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
        FF00FFFFFF00A54D33FFFFF3F0FFFFF3F0FFFFF3F0FFFFF3F0FFFFF3F0FFFFF3
        F0FFA54D33FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
        FF00FFFFFF00A54D33FFFFD6CBFFFFD6CBFFFFD6CBFFFFD6CBFFFFD6CBFFFFD6
        CBFFA54D33FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
        FF00FFFFFF00A54D33FFA54D33FFA54D33FFA54D33FFA54D33FFA54D33FFA54D
        33FFA54D33FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00}
      TabOrder = 6
      OnClick = mnuPrintClick
    end
    object edtPrint: TcxLookupComboBox
      Left = 803
      Top = 10
      Anchors = [akTop, akRight]
      Properties.GridMode = True
      Properties.KeyFieldNames = 'styleid'
      Properties.ListColumns = <
        item
          FieldName = 'stylename'
        end>
      Properties.ListOptions.ShowHeader = False
      Properties.ListOptions.SyncMode = True
      Properties.ListSource = dsReportDtl
      Properties.MaxLength = 0
      TabOrder = 7
      Width = 137
    end
  end
  object pnlBottom: TPanel [3]
    Left = 0
    Top = 412
    Width = 952
    Height = 55
    Align = alBottom
    BevelOuter = bvNone
    TabOrder = 1
    DesignSize = (
      952
      55)
    object btnRawProductTypeList: TcxButton
      Left = 102
      Top = 15
      Width = 100
      Height = 25
      Anchors = [akLeft, akBottom]
      Caption = #35774#32622#26448#26009#23637#24320#31867#21035
      TabOrder = 4
      Visible = False
      OnClick = btnRawProductTypeListClick
    end
    object btnBom: TcxButton
      Left = 20
      Top = 15
      Width = 75
      Height = 25
      Anchors = [akLeft, akBottom]
      Caption = #29289#26009#28165#21333#35814#24773
      TabOrder = 0
      OnClick = btnBomClick
    end
    object btnCancel: TcxButton
      Left = 1308
      Top = 15
      Width = 75
      Height = 25
      Anchors = [akRight, akBottom]
      Caption = #36864#20986
      TabOrder = 1
      OnClick = btnCancelClick
    end
    object chkShowPic: TcxCheckBox
      Left = 1214
      Top = 17
      Anchors = [akRight, akBottom]
      Caption = #26174#31034#22270#29255
      Properties.ImmediatePost = True
      TabOrder = 2
      Transparent = True
      OnClick = chkShowPicClick
    end
    object chkListDefBom: TcxCheckBox
      Left = 473
      Top = 17
      Anchors = [akRight, akBottom]
      Caption = #21482#26174#31034#26631#20934#29256#26412
      Properties.ImmediatePost = True
      TabOrder = 3
      Transparent = True
      OnClick = chkListDefBomClick
    end
    object edtCheck: TcxComboBox
      Left = 587
      Top = 17
      Anchors = [akRight, akBottom]
      Properties.ImmediatePost = True
      Properties.Items.Strings = (
        #20840#37096
        #24050#23457#26680
        #26410#23457#26680
        #24050#23457#26680#26410#20572#29992
        #24050#20572#29992)
      Properties.OnValidate = edtCheckPropertiesValidate
      TabOrder = 5
      Text = #20840#37096
      Width = 60
    end
    object btnClose: TcxButton
      Left = 864
      Top = 15
      Width = 75
      Height = 25
      Anchors = [akRight, akBottom]
      Cancel = True
      Caption = #20851#38381
      TabOrder = 6
      OnClick = btnCloseClick
    end
    object btnCheck: TcxButton
      Left = 666
      Top = 15
      Width = 75
      Height = 25
      Caption = #23457#26680
      TabOrder = 7
      OnClick = btnCheckClick
    end
    object btnOK: TcxButton
      Left = 768
      Top = 15
      Width = 90
      Height = 25
      Anchors = [akTop, akRight]
      Caption = #20445#23384'(&S)'
      OptionsImage.Glyph.SourceDPI = 96
      OptionsImage.Glyph.Data = {
        424D560A00000000000036000000280000002400000012000000010020000000
        000000000000C40E0000C40E0000000000000000000000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000808000FFFFFFFF00808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000800000FF800000FF0080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000808000008080000080800000808000808080FF808080FFFFFFFFFF0080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000008080000080800000808000800000FF008000FF0080
        00FF800000FF0080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080008080
        80FF0080800000808000808080FFFFFFFFFF0080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000800000FF008000FF008000FF008000FF008000FF800000FF008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000808080FF008080000080800000808000008080008080
        80FFFFFFFFFF0080800000808000008080000080800000808000008080000080
        8000008080000080800000808000800000FF008000FF008000FF008000FF0080
        00FF008000FF008000FF800000FF008080000080800000808000008080000080
        80000080800000808000008080000080800000808000808080FF008080000080
        800000808000008080000080800000808000808080FFFFFFFFFF008080000080
        8000008080000080800000808000008080000080800000808000800000FF0080
        00FF008000FF008000FF00FF00FF008000FF008000FF008000FF008000FF8000
        00FF008080000080800000808000008080000080800000808000008080000080
        8000808080FFFFFFFFFF0080800000808000808080FFFFFFFFFF008080000080
        800000808000808080FFFFFFFFFF008080000080800000808000008080000080
        80000080800000808000008000FF008000FF008000FF00FF00FF0080800000FF
        00FF008000FF008000FF008000FF800000FF0080800000808000008080000080
        800000808000008080000080800000808000808080FFFFFFFFFF008080008080
        80FF00808000808080FFFFFFFFFF0080800000808000808080FFFFFFFFFF0080
        800000808000008080000080800000808000008080000080800000FF00FF0080
        00FF00FF00FF00808000008080000080800000FF00FF008000FF008000FF0080
        00FF800000FF0080800000808000008080000080800000808000008080000080
        8000808080FFFFFFFFFF808080FF008080000080800000808000808080FFFFFF
        FFFF0080800000808000808080FFFFFFFFFF0080800000808000008080000080
        800000808000008080000080800000FF00FF0080800000808000008080000080
        80000080800000FF00FF008000FF008000FF008000FF800000FF008080000080
        80000080800000808000008080000080800000808000808080FF008080000080
        8000008080000080800000808000808080FFFFFFFFFF00808000008080008080
        80FFFFFFFFFF0080800000808000008080000080800000808000008080000080
        800000808000008080000080800000808000008080000080800000FF00FF0080
        00FF008000FF008000FF800000FF008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000808080FFFFFFFFFF0080800000808000808080FFFFFFFFFF008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000808000008080000080800000FF00FF008000FF008000FF008000FF8000
        00FF008080000080800000808000008080000080800000808000008080000080
        80000080800000808000008080000080800000808000808080FFFFFFFFFF0080
        800000808000808080FFFFFFFFFF008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000FF00FF008000FF008000FF008000FF800000FF00808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000808080FFFFFFFFFF0080800000808000808080FFFFFF
        FFFF008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000FF00FF008000FF0080
        00FF008000FF800000FF00808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080008080
        80FFFFFFFFFF0080800000808000808080FFFFFFFFFF00808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000FF00FF008000FF008000FF800000FF008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000808000008080000080800000808000808080FFFFFFFFFF008080008080
        80FFFFFFFFFF0080800000808000008080000080800000808000008080000080
        80000080800000808000008080000080800000808000008080000080800000FF
        00FF008000FF008000FF00808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        800000808000808080FFFFFFFFFF808080FF0080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000008080000080800000FF00FF00808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000808080FF0080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        8000008080000080800000808000008080000080800000808000008080000080
        80000080800000808000008080000080800000808000}
      OptionsImage.NumGlyphs = 2
      TabOrder = 8
      OnClick = btnOKClick
    end
    object chkListRaw: TcxCheckBox
      Left = 208
      Top = 16
      Anchors = [akLeft, akBottom]
      Caption = #26174#31034#23376#20214#29289#26009
      TabOrder = 9
      Visible = False
      OnClick = chkListRawClick
    end
    object edtRawOrderBy: TcxComboBox
      Left = 306
      Top = 17
      Anchors = [akLeft, akBottom]
      Properties.ImmediatePost = True
      Properties.Items.Strings = (
        #29289#26009#26641#25490#24207
        #36135#21697#31867#21035#32534#30721
        #37096#20301#32534#30721)
      Properties.OnValidate = edtRawOrderByPropertiesValidate
      TabOrder = 10
      Text = #29289#26009#26641#25490#24207
      Visible = False
      Width = 100
    end
  end
  object pnlClient: TPanel [4]
    Left = 0
    Top = 45
    Width = 952
    Height = 367
    Align = alClient
    BevelOuter = bvNone
    TabOrder = 2
    object pnlTree: TPanel
      Left = 0
      Top = 0
      Width = 200
      Height = 367
      Align = alLeft
      BevelOuter = bvNone
      Caption = 'pnlTree'
      TabOrder = 0
      object treType: TcxTreeView
        Left = 0
        Top = 25
        Width = 200
        Height = 175
        Align = alTop
        TabOrder = 0
        OnClick = treTypeClick
      end
      object cxSplitter2: TcxSplitter
        Left = 0
        Top = 200
        Width = 200
        Height = 8
        Cursor = crVSplit
        HotZoneClassName = 'TcxXPTaskBarStyle'
        AlignSplitter = salTop
      end
      object CoolBar1: TCoolBar
        Left = 0
        Top = 0
        Width = 200
        Height = 25
        Bands = <
          item
            Control = CbbOption
            ImageIndex = -1
            MinHeight = 21
            Width = 194
          end>
        object CbbOption: TcxComboBox
          Left = 11
          Top = 0
          Properties.ImmediatePost = True
          Properties.OnValidate = CbbOptionPropertiesValidate
          TabOrder = 0
          Width = 185
        end
      end
      object grdClient: TcxGrid
        Left = 0
        Top = 208
        Width = 200
        Height = 139
        Align = alClient
        TabOrder = 3
        ExplicitHeight = 138
        object viewClient: TcxGridDBTableView
          Navigator.Buttons.CustomButtons = <>
          DataController.DataSource = dsClient
          DataController.Summary.DefaultGroupSummaryItems = <>
          DataController.Summary.FooterSummaryItems = <>
          DataController.Summary.SummaryGroups = <>
          OptionsData.CancelOnExit = False
          OptionsData.Deleting = False
          OptionsData.DeletingConfirmation = False
          OptionsData.Editing = False
          OptionsData.Inserting = False
          OptionsView.ColumnAutoWidth = True
          OptionsView.GroupByBox = False
          Styles.Background = MainDM.bslBackGroup
          Styles.ContentEven = MainDM.bsEven
          Styles.ContentOdd = MainDM.bsOdd
          Styles.Header = MainDM.bsTitle
          Styles.Selection = MainDM.bsSelect
          object colCode: TcxGridDBColumn
            Caption = #32534#30721
            DataBinding.FieldName = 'code'
            Width = 60
          end
          object colName: TcxGridDBColumn
            Caption = #21517#31216
            DataBinding.FieldName = 'name'
            Width = 100
          end
        end
        object lvlClient: TcxGridLevel
          GridView = viewClient
        end
      end
      object edtClient: TcxTextEdit
        Left = 0
        Top = 347
        Hint = #23458#25143#32534#30721#12289#21517#31216#36807#28388
        Align = alBottom
        TabOrder = 4
        TextHint = #23458#25143#32534#30721#12289#21517#31216#36807#28388
        OnKeyPress = edtClientKeyPress
        ExplicitTop = 346
        Width = 200
      end
    end
    object spTree: TcxSplitter
      Left = 200
      Top = 0
      Width = 8
      Height = 367
      Cursor = crHSplit
      HotZoneClassName = 'TcxSimpleStyle'
      Control = pnlTree
    end
    object pgBom: TcxPageControl
      Left = 208
      Top = 0
      Width = 744
      Height = 367
      Align = alClient
      TabOrder = 2
      Properties.ActivePage = tsBomVerList
      Properties.CustomButtons.Buttons = <>
      OnPageChanging = pgBomPageChanging
      ClientRectBottom = 363
      ClientRectLeft = 4
      ClientRectRight = 740
      ClientRectTop = 24
      object tsBomVerList: TcxTabSheet
        Caption = #29289#26009#28165#21333#29256#26412
        ImageIndex = 0
        object grdBomV: TcxGrid
          Left = 0
          Top = 0
          Width = 736
          Height = 339
          Align = alClient
          TabOrder = 0
          object viewBomV: TcxGridDBTableView
            PopupMenu = pmBom
            OnDblClick = viewBomVDblClick
            Navigator.Buttons.CustomButtons = <>
            DataController.DataSource = MainDataSource
            DataController.Summary.DefaultGroupSummaryItems = <>
            DataController.Summary.FooterSummaryItems = <>
            DataController.Summary.SummaryGroups = <>
            OptionsBehavior.FocusCellOnTab = True
            OptionsBehavior.FocusFirstCellOnNewRecord = True
            OptionsBehavior.GoToNextCellOnEnter = True
            OptionsData.Deleting = False
            OptionsData.Editing = False
            OptionsData.Inserting = False
            OptionsView.ColumnAutoWidth = True
            OptionsView.GroupByBox = False
            OptionsView.Indicator = True
            OptionsView.IndicatorWidth = 25
            Styles.Background = MainDM.bslBackGroup
            Styles.ContentEven = MainDM.bsEven
            Styles.ContentOdd = MainDM.bsOdd
            Styles.Header = MainDM.bsTitle
            Styles.Selection = MainDM.bsSelect
            OnCustomDrawIndicatorCell = viewBomVCustomDrawIndicatorCell
            object viewBomVp_code: TcxGridDBColumn
              Caption = #20135#21697#32534#30721
              DataBinding.FieldName = 'p_code'
              HeaderAlignmentHorz = taCenter
              Options.Editing = False
              Width = 100
            end
            object viewBomVp_name: TcxGridDBColumn
              Caption = #20135#21697#21517#31216
              DataBinding.FieldName = 'productid'
              HeaderAlignmentHorz = taCenter
              Width = 100
            end
            object viewBomVp_spec: TcxGridDBColumn
              Caption = #35268#26684
              DataBinding.FieldName = 'p_spec'
              HeaderAlignmentHorz = taCenter
              Options.Editing = False
              Width = 100
            end
            object viewBomVbomname: TcxGridDBColumn
              Caption = #29289#26009#29256#26412#21517#31216
              DataBinding.FieldName = 'name'
              HeaderAlignmentHorz = taCenter
              Width = 120
            end
            object viewBomVcost: TcxGridDBColumn
              Caption = #26448#26009#25104#26412
              DataBinding.FieldName = 'cost'
              HeaderAlignmentHorz = taCenter
              Width = 60
            end
            object viewBomVlastcost: TcxGridDBColumn
              Caption = #26368#36817#25104#26412
              DataBinding.FieldName = 'lastcost'
              HeaderAlignmentHorz = taCenter
              Width = 60
            end
            object viewBomVlastprice: TcxGridDBColumn
              Caption = #26368#36817#21806#20215
              DataBinding.FieldName = 'lastprice'
              HeaderAlignmentHorz = taCenter
              Width = 80
            end
            object viewBomVstate: TcxGridDBColumn
              Caption = #23457#26680
              DataBinding.FieldName = 'state'
              OnGetDisplayText = viewBomVstateGetDisplayText
              HeaderAlignmentHorz = taCenter
              Options.Editing = False
              Width = 50
            end
            object viewBomVRemark: TcxGridDBColumn
              Caption = #22791#27880
              DataBinding.FieldName = 'remark'
              HeaderAlignmentHorz = taCenter
              Width = 60
            end
            object viewBomVpname: TcxGridDBColumn
              Caption = #21517#31216
              DataBinding.FieldName = 'p_name'
              Visible = False
              Width = 20
            end
            object viewBomVqtypercent: TcxGridDBColumn
              Caption = #37197#26041#30334#20998#27604
              DataBinding.FieldName = 'qtypercent'
              HeaderAlignmentHorz = taCenter
              Width = 40
            end
          end
          object lvlBomV: TcxGridLevel
            GridView = viewBomV
          end
        end
      end
      object tsBom: TcxTabSheet
        Caption = #29289#26009#28165#21333#23637#24320
        ImageIndex = 1
        ExplicitLeft = 0
        ExplicitTop = 0
        ExplicitWidth = 0
        ExplicitHeight = 0
        object sptRawTypeList: TcxSplitter
          Left = 425
          Top = 55
          Width = 8
          Height = 234
          Cursor = crHSplit
          HotZoneClassName = 'TcxSimpleStyle'
          Control = pnlRaw
          Visible = False
        end
        object grdBom: TcxGrid
          Left = 433
          Top = 55
          Width = 311
          Height = 234
          Align = alClient
          TabOrder = 1
          object viewBom: TcxGridDBTableView
            PopupMenu = pmRaw
            OnMouseDown = viewBomMouseDown
            Navigator.Buttons.CustomButtons = <>
            DataController.DataSource = dsBom
            DataController.Summary.DefaultGroupSummaryItems = <>
            DataController.Summary.FooterSummaryItems = <
              item
                Kind = skSum
                Column = colBomRawQty
              end
              item
                Kind = skSum
                Column = colBomRawQuantity
              end>
            DataController.Summary.SummaryGroups = <>
            OptionsBehavior.FocusCellOnTab = True
            OptionsBehavior.GoToNextCellOnEnter = True
            OptionsBehavior.FocusCellOnCycle = True
            OptionsBehavior.PullFocusing = True
            OptionsView.Footer = True
            OptionsView.GroupByBox = False
            OptionsView.Indicator = True
            OptionsView.IndicatorWidth = 25
            Styles.Background = MainDM.bslBackGroup
            Styles.ContentEven = MainDM.bsEven
            Styles.ContentOdd = MainDM.bsOdd
            Styles.Footer = MainDM.bsTitle
            Styles.Header = MainDM.bsTitle
            Styles.Selection = MainDM.bsSelect
            OnCustomDrawIndicatorCell = viewBomVCustomDrawIndicatorCell
            object colBomRawno: TcxGridDBColumn
              Caption = #24207#21495
              DataBinding.FieldName = 'rawno'
              HeaderAlignmentHorz = taCenter
              Width = 30
            end
            object colBomRawPCode: TcxGridDBColumn
              Caption = #26448#26009#32534#30721
              DataBinding.FieldName = 'rawpcode'
              HeaderAlignmentHorz = taCenter
              Options.Editing = False
              Width = 60
            end
            object colBomRawPName: TcxGridDBColumn
              Caption = #20027#26448#26009#21517#31216
              DataBinding.FieldName = 'rawproductid'
              HeaderAlignmentHorz = taCenter
              Width = 120
            end
            object colBomRawQuantity: TcxGridDBColumn
              Caption = #25968#37327
              DataBinding.FieldName = 'rawquantity'
              HeaderAlignmentHorz = taCenter
              Width = 70
            end
            object colBomUnitname: TcxGridDBColumn
              Caption = #21333#20301
              DataBinding.FieldName = 'unitname'
              HeaderAlignmentHorz = taCenter
              Options.Editing = False
              Width = 30
            end
            object colBomKname: TcxGridDBColumn
              Caption = #36135#21697#31867#22411
              DataBinding.FieldName = 'kname'
              Options.Editing = False
              Width = 40
            end
            object colBomRawQty: TcxGridDBColumn
              Caption = #25968#37327
              DataBinding.FieldName = 'rawqty'
              Visible = False
              HeaderAlignmentHorz = taCenter
              Width = 50
            end
          end
          object lvlBom: TcxGridLevel
            GridView = viewBom
          end
        end
        object pnlBomVer: TPanel
          Left = 0
          Top = 0
          Width = 744
          Height = 55
          Align = alTop
          BevelOuter = bvNone
          TabOrder = 2
        end
        object pnlRaw: TPanel
          Left = 0
          Top = 55
          Width = 425
          Height = 234
          Align = alLeft
          BevelOuter = bvNone
          Caption = 'pnlRaw'
          TabOrder = 3
          object grdRawPTList: TcxGrid
            Left = 0
            Top = 0
            Width = 425
            Height = 234
            Align = alClient
            TabOrder = 0
            Visible = False
            object viewRawPTList: TcxGridDBTableView
              PopupMenu = pmRaw
              OnMouseDown = viewRawPTListMouseDown
              Navigator.Buttons.CustomButtons = <>
              OnFocusedRecordChanged = viewRawPTListFocusedRecordChanged
              DataController.DataModeController.SmartRefresh = True
              DataController.DataSource = dsRaw
              DataController.DetailKeyFieldNames = 'producttypeid'
              DataController.MasterKeyFieldNames = 'producttypeid'
              DataController.Summary.DefaultGroupSummaryItems = <>
              DataController.Summary.FooterSummaryItems = <
                item
                  Kind = skSum
                  Column = viewRawRawQty
                end>
              DataController.Summary.SummaryGroups = <>
              OptionsData.Appending = True
              OptionsView.ShowEditButtons = gsebForFocusedRecord
              OptionsView.Footer = True
              OptionsView.FooterMultiSummaries = True
              OptionsView.GroupByBox = False
              OptionsView.Indicator = True
              OptionsView.IndicatorWidth = 25
              Styles.Background = MainDM.bslBackGroup
              Styles.ContentEven = MainDM.bsEven
              Styles.ContentOdd = MainDM.bsOdd
              Styles.Footer = MainDM.bsTitle
              Styles.Header = MainDM.bsTitle
              Styles.Selection = MainDM.bsSelect
              OnCustomDrawIndicatorCell = viewBomVCustomDrawIndicatorCell
              object viewRawPCode: TcxGridDBColumn
                DataBinding.FieldName = 'pcode'
              end
              object viewRawPName: TcxGridDBColumn
                DataBinding.FieldName = 'pname'
              end
              object viewRawRawQty: TcxGridDBColumn
                DataBinding.FieldName = 'rawqty'
              end
            end
            object lvlRawPTList: TcxGridLevel
              GridView = viewRawPTList
              MaxDetailHeight = 300
            end
          end
        end
        object pnlVerFoot: TPanel
          Left = 0
          Top = 289
          Width = 744
          Height = 55
          Align = alBottom
          BevelOuter = bvNone
          TabOrder = 4
        end
      end
    end
  end
  inherited MainDataSource: TDataSource
    DataSet = MainDataSetU
    Left = 241
    Top = 209
  end
  inherited styColor: TcxStyleRepository
    PixelsPerInch = 96
  end
  object MainDataSetU: TUniQuery
    SQLInsert.Strings = (
      'INSERT INTO td_productbomver'
      
        '  (bomid, code, name, productid, manhour, quantity, qtypercent, ' +
        'pretime, worklineid, remark, state'
      ', create_by, check_by, create_time, update_time, traderid, empid'
      
        ', powercost, labourcost, rawcost, othercost, electricpowercost, ' +
        'assistantcost'
      ', custom1, custom2, custom3, custom4, custom5'
      ', defbom, cost, salereprice, pic, postfix, pause'
      
        ', custom6, custom7, custom8, custom9, custom10, custom11, custom' +
        '12, custom13, custom14, custom15'
      ', length, width, height)'
      'VALUES'
      
        '  (:bomid, :code, :name, :productid, :manhour, :quantity, :qtype' +
        'rcent, :pretime, :worklineid, :remark, :state'
      
        ', :create_by, :check_by, :create_time, :update_time, :traderid, ' +
        ':empid'
      
        ', :powercost, :labourcost, :rawcost, :othercost, :electricpowerc' +
        'ost, :assistantcost'
      ', :custom1, :custom2, :custom3, :custom4, :custom5'
      ', :defbom, :cost, :salereprice, :pic, :postfix, :pause'
      
        ', :custom6, :custom7, :custom8, :custom9, :custom10, :custom11, ' +
        ':custom12, :custom13, :custom14, :custom15'
      ', :length, :width, :height)')
    SQLDelete.Strings = (
      'delete td_productbomver where bomid=:old_bomid')
    SQLUpdate.Strings = (
      'UPDATE td_productbomver'
      'SET'
      
        '  bomid = :bomid, code = :code, name = :name, productid = :produ' +
        'ctid, manhour = :manhour, traderid = :traderid, empid = :empid'
      
        ', quantity = :quantity, qtypercent = :qtypercent, pretime = :pre' +
        'time, worklineid = :worklineid, remark = :remark, state = :state'
      
        ', create_by = :create_by, check_by = :check_by, create_time = :c' +
        'reate_time, update_time = :update_time'
      
        ', custom1 = :custom1, custom2 = :custom2, custom3 = :custom3, cu' +
        'stom4 = :custom4, custom5 = :custom5'
      
        ', defbom = :defbom, cost = :cost, salereprice = :salereprice, pi' +
        'c = :pic, postfix = :postfix, pause = :pause'
      
        ', custom6=:custom6, custom7=:custom7, custom8=:custom8, custom9=' +
        ':custom9, custom10=:custom10'
      
        ', custom11=:custom11, custom12=:custom12, custom13=:custom13, cu' +
        'stom14=:custom14, custom15=:custom15'
      ', length=:length, width=:width, height=:height'
      
        ', powercost=:powercost, labourcost=:labourcost, rawcost=:rawcost' +
        ', othercost=:othercost'
      
        ', electricpowercost=:electricpowercost, assistantcost=:assistant' +
        'cost'
      'WHERE'
      '  bomid = :Old_bomid'
      'if :cost<>:Old_cost'
      'begin'
      
        'insert into tt_traderprice (traderid, moneyid, productid, btype,' +
        ' price, taxprice, unitid, update_time)'
      
        ' values (-1, 0, :productid, 2590, :cost, 0, (select unitid from ' +
        'td_unitprice where baseunit=1 and productid=:productid), getdate' +
        '())'
      
        'update td_unitprice set salereprice=:salereprice,purreprice=:cos' +
        't where productid=:productid and baseunit=1'
      'end')
    Connection = MainDM.UniConn
    CachedUpdates = True
    Options.SetFieldsReadOnly = False
    Options.RequiredFields = False
    Options.QueryRecCount = True
    AfterScroll = MainDataSetUAfterScroll
    Left = 240
    Top = 254
  end
  object cxStyleRepository1: TcxStyleRepository
    Left = 40
    Top = 309
    PixelsPerInch = 96
  end
  object pmBom: TPopupMenu
    OnPopup = pmBomPopup
    Left = 688
    Top = 157
    object muUpdateRawCost: TMenuItem
      Caption = #26356#26032#20135#21697#26448#26009#25104#26412
      OnClick = muUpdateRawCostClick
    end
    object muPCPark1: TMenuItem
      Caption = '-'
    end
    object muNewBomVer: TMenuItem
      Caption = #26032#22686#29289#26009#29256#26412
      OnClick = muNewBomVerClick
    end
    object muNewCopyBomVer: TMenuItem
      Caption = #22797#21046#26032#22686#29289#26009#29256#26412
      OnClick = muNewCopyBomVerClick
    end
    object muLoadTem: TMenuItem
      Caption = #26032#22686#24341#20837#27169#26495
    end
    object muSaveTem: TMenuItem
      Caption = #35774#32622#20026#27169#26495
      OnClick = muSaveTemClick
    end
    object muBomVerPart1: TMenuItem
      Caption = '-'
    end
    object muPauseBomVer: TMenuItem
      Caption = #20572#29992#29289#26009#29256#26412
      OnClick = muPauseBomVerClick
    end
    object muDelTem: TMenuItem
      Caption = #21024#38500#27169#29256
      OnClick = muDelTemClick
    end
    object muDelCurTem: TMenuItem
      Caption = #21024#38500#24403#21069#27169#26495
      OnClick = muDelCurTemClick
    end
    object muDelBomVer: TMenuItem
      Caption = #21024#38500#24403#21069#29256#26412#29289#26009#28165#21333
      OnClick = muDelBomVerClick
    end
    object muBomVerPart2: TMenuItem
      Caption = '-'
    end
    object muListHistoryPrice: TMenuItem
      Caption = #26174#31034#26356#22810#21382#21490#20215#26684
      OnClick = muListHistoryPriceClick
    end
  end
  object dsRaw: TDataSource
    DataSet = cdsRaw
    Left = 425
    Top = 161
  end
  object dsBom: TDataSource
    DataSet = qryBom
    Left = 777
    Top = 161
  end
  object qryRaw: TUniQuery
    SQLInsert.Strings = (
      'INSERT INTO td_productbom'
      
        '  (bomid, rawproductid, rawno, rawbomid, rawpercent, rawqty, was' +
        'terate, explan, orderno, partid, worklineid, workprocid, custom1' +
        ', custom2, custom3, custom4, custom5, create_by, traderid, lengt' +
        'h, width, height, custom6, custom7, custom8, custom9, custom10, ' +
        'custom11, custom12, custom13, custom14, custom15, lengthformulai' +
        'd, widthformulaid, heightformulaid, qtyformulaid, rawquantity, v' +
        'irtualproductid)'
      'VALUES'
      
        '  (:bomid, :rawproductid, :rawno, :rawbomid, :rawpercent, :rawqt' +
        'y, :wasterate, :explan, :orderno, :partid, :worklineid, :workpro' +
        'cid, :custom1, :custom2, :custom3, :custom4, :custom5, :create_b' +
        'y, :traderid, :length, :width, :height, :custom6, :custom7, :cus' +
        'tom8, :custom9, :custom10, :custom11, :custom12, :custom13, :cus' +
        'tom14, :custom15, :lengthformulaid, :widthformulaid, :heightform' +
        'ulaid, :qtyformulaid, :rawquantity, :virtualproductid)')
    SQLDelete.Strings = (
      
        'delete td_productbom where bomid=:old_bomid and rawproductid=:ol' +
        'd_rawproductid AND rawno=:Old_rawno')
    SQLUpdate.Strings = (
      'UPDATE td_productbom'
      'SET'
      
        '  bomid = :bomid, rawproductid = :rawproductid, rawno = :rawno, ' +
        'rawbomid = :rawbomid, rawpercent = :rawpercent, rawqty = :rawqty' +
        ', wasterate = :wasterate, explan = :explan, orderno = :orderno, ' +
        'partid = :partid, worklineid = :worklineid, workprocid = :workpr' +
        'ocid, custom1 = :custom1, custom2 = :custom2, custom3 = :custom3' +
        ', custom4 = :custom4, custom5 = :custom5, create_by = :create_by' +
        ', traderid = :traderid, length = :length, width = :width, height' +
        ' = :height, custom6 = :custom6, custom7 = :custom7, custom8 = :c' +
        'ustom8, custom9 = :custom9, custom10 = :custom10, custom11 = :cu' +
        'stom11, custom12 = :custom12, custom13 = :custom13, custom14 = :' +
        'custom14, custom15 = :custom15, lengthformulaid = :lengthformula' +
        'id, widthformulaid = :widthformulaid, heightformulaid = :heightf' +
        'ormulaid, qtyformulaid = :qtyformulaid, rawquantity = :rawquanti' +
        'ty, virtualproductid = :virtualproductid'
      'WHERE'
      
        '  bomid = :Old_bomid AND rawproductid = :Old_rawproductid AND ra' +
        'wno = :Old_rawno')
    Connection = MainDM.UniConn
    CachedUpdates = True
    Options.SetFieldsReadOnly = False
    Options.RequiredFields = False
    Options.QueryRecCount = True
    Left = 320
    Top = 190
  end
  object qryBom: TUniQuery
    SQLInsert.Strings = (
      'if isnull(:virtualproductid,0)=-1'
      
        'Update td_productbomver set update_time=getdate() where bomid=:o' +
        'ld_bomid'
      'else'
      'INSERT INTO td_productbom'
      
        '  (bomid, rawproductid, rawno, rawbomid, rawpercent, rawqty, was' +
        'terate, explan, orderno, partid, worklineid, workprocid, custom1' +
        ', custom2, custom3, custom4, custom5, create_by, traderid, lengt' +
        'h, width, height, custom6, custom7, custom8, custom9, custom10, ' +
        'custom11, custom12, custom13, custom14, custom15, lengthformulai' +
        'd, widthformulaid, heightformulaid, qtyformulaid, rawquantity, v' +
        'irtualproductid)'
      'VALUES'
      
        '  (:bomid, :rawproductid, :rawno, :rawbomid, :rawpercent, :rawqt' +
        'y, :wasterate, :explan, :orderno, :partid, :worklineid, :workpro' +
        'cid, :custom1, :custom2, :custom3, :custom4, :custom5, :create_b' +
        'y, :traderid, :length, :width, :height, :custom6, :custom7, :cus' +
        'tom8, :custom9, :custom10, :custom11, :custom12, :custom13, :cus' +
        'tom14, :custom15, :lengthformulaid, :widthformulaid, :heightform' +
        'ulaid, :qtyformulaid, :rawquantity, :virtualproductid)')
    SQLDelete.Strings = (
      'if isnull(:virtualproductid,0)=-1'
      
        'Update td_productbomver set update_time=getdate() where bomid=:o' +
        'ld_bomid'
      'else'
      
        'delete td_productbom where bomid=:old_bomid and rawproductid=:ol' +
        'd_rawproductid AND rawno=:Old_rawno')
    SQLUpdate.Strings = (
      'if isnull(:virtualproductid,0)=-1'
      
        'Update td_productbomver set update_time=getdate() where bomid=:o' +
        'ld_bomid'
      'else'
      'UPDATE td_productbom'
      'SET'
      
        '  bomid = :bomid, rawproductid = :rawproductid, rawno = :rawno, ' +
        'rawbomid = :rawbomid, rawpercent = :rawpercent, rawqty = :rawqty' +
        ', wasterate = :wasterate, explan = :explan, orderno = :orderno, ' +
        'partid = :partid, worklineid = :worklineid, workprocid = :workpr' +
        'ocid, custom1 = :custom1, custom2 = :custom2, custom3 = :custom3' +
        ', custom4 = :custom4, custom5 = :custom5, create_by = :create_by' +
        ', traderid = :traderid, length = :length, width = :width, height' +
        ' = :height, custom6 = :custom6, custom7 = :custom7, custom8 = :c' +
        'ustom8, custom9 = :custom9, custom10 = :custom10, custom11 = :cu' +
        'stom11, custom12 = :custom12, custom13 = :custom13, custom14 = :' +
        'custom14, custom15 = :custom15, lengthformulaid = :lengthformula' +
        'id, widthformulaid = :widthformulaid, heightformulaid = :heightf' +
        'ormulaid, qtyformulaid = :qtyformulaid, rawquantity = :rawquanti' +
        'ty, virtualproductid=:virtualproductid'
      'WHERE'
      
        '  bomid = :Old_bomid AND rawproductid = :Old_rawproductid AND ra' +
        'wno = :Old_rawno')
    Connection = MainDM.UniConn
    SQL.Strings = (
      'select * from td_productbom')
    CachedUpdates = True
    Options.SetFieldsReadOnly = False
    Options.RequiredFields = False
    Options.QueryRecCount = True
    OnNewRecord = qryBomNewRecord
    Left = 744
    Top = 150
  end
  object qryReportDtl: TUniQuery
    Connection = MainDM.UniConn
    Left = 864
    Top = 25
  end
  object dsReportDtl: TDataSource
    DataSet = qryReportDtl
    Left = 912
    Top = 49
  end
  object pmPrint: TPopupMenu
    Images = ImageList1
    Left = 760
    Top = 3
    object muPrint: TMenuItem
      Caption = #25171#21360
      GroupIndex = 10
      ImageIndex = 10
      ShortCut = 16464
      OnClick = mnuPrintClick
    end
    object muPrintView: TMenuItem
      Caption = #25171#21360#39044#35272
      GroupIndex = 10
      ImageIndex = 11
      ShortCut = 49232
      OnClick = mnuPrintPreviewClick
    end
    object muStyleDesign: TMenuItem
      Caption = #25171#21360#26679#24335#35774#35745
      GroupIndex = 10
      ImageIndex = 30
      OnClick = pmnuStyleDesignClick
    end
    object muPrintPart: TMenuItem
      Caption = '-'
      GroupIndex = 10
    end
    object muPrintGrid: TMenuItem
      Caption = #25171#21360#32593#26684
      GroupIndex = 10
      ImageIndex = 5
      OnClick = muPrintGridClick
    end
    object muExcel: TMenuItem
      Action = actExport
      GroupIndex = 10
    end
  end
  object dlgSaveExportExcel: TSaveDialog
    Filter = 'Excel|.xls'
    Left = 813
    Top = 49
  end
  object dsClient: TDataSource
    DataSet = qryClient
    Left = 152
    Top = 293
  end
  object qryClient: TUniQuery
    Connection = MainDM.UniConn
    CachedUpdates = True
    Options.SetFieldsReadOnly = False
    Options.RequiredFields = False
    AfterScroll = qryClientAfterScroll
    Left = 152
    Top = 253
  end
  object cdsCircle: TClientDataSet
    Aggregates = <>
    Params = <>
    Left = 572
    Top = 246
    object IntegerField6: TIntegerField
      FieldName = 'productid'
    end
    object IntegerField7: TIntegerField
      FieldName = 'rawproductid'
      Required = True
    end
    object FloatField1: TFloatField
      FieldName = 'QUANTITY'
    end
    object FloatField2: TFloatField
      FieldName = 'WASTERATE'
    end
    object StringField15: TStringField
      FieldName = 'p_code'
      Size = 32
    end
    object StringField16: TStringField
      FieldName = 'p_name'
      Size = 64
    end
    object SmallintField1: TSmallintField
      FieldName = 'KIND'
    end
    object StringField17: TStringField
      FieldName = 'p_spec'
      Size = 64
    end
    object StringField18: TStringField
      FieldName = 'UNITNAME'
      Size = 64
    end
    object cdsCirclerawbomid: TIntegerField
      FieldName = 'rawbomid'
    end
  end
  object cdsDouble: TClientDataSet
    Aggregates = <>
    FieldDefs = <>
    IndexDefs = <>
    Params = <>
    StoreDefs = True
    Left = 608
    Top = 294
    object cdsDoublekeyid1: TIntegerField
      FieldName = 'keyid1'
    end
    object cdsDoublekeyid2: TIntegerField
      FieldName = 'keyid2'
    end
  end
  object pmRaw: TPopupMenu
    OnPopup = pmRawPopup
    Left = 496
    Top = 204
    object muAppRaw: TMenuItem
      Caption = #26032#22686#21407#26009
      OnClick = muAppRawClick
    end
    object N1: TMenuItem
      Caption = '-'
    end
    object muDelRaw: TMenuItem
      Caption = #21024#38500#21407#26009
      OnClick = muDelRawClick
    end
  end
  object qryRawTypeList: TUniQuery
    Connection = MainDM.UniConn
    Left = 320
    Top = 275
  end
  object dspRaw: TDataSetProvider
    DataSet = qryRaw
    BeforeUpdateRecord = dspRawBeforeUpdateRecord
    Left = 360
    Top = 171
  end
  object cdsRaw: TClientDataSet
    Aggregates = <>
    Params = <>
    ProviderName = 'dspRaw'
    BeforeDelete = cdsRawBeforeDelete
    OnNewRecord = cdsRawNewRecord
    Left = 400
    Top = 195
  end
end
